import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/**
* 结论:
* 第一种和第二种遍历性能相似,在既要key又要value的情况下可以用其中之一
* 第三种需要根据key用get方法取value,相当于多一次遍历,性能差一些,但如果仅需要key,用这种遍历方式也可以
* 第四种只是缓存了entrySet,然而entrySet()方法是单例模式,已经做了缓存
*/
public class hashmapCompare {
public void test() {
Map<String, String> map = new HashMap<String, String>();
//第一种,直接遍历所有条目
for (Map.Entry<String, String> entry : map.entrySet()) {
entry.getKey();
entry.getValue();
}
//第二种,利用迭代器遍历
Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, String> entry = iterator.next();
entry.getKey();
entry.getValue();
}
//第三种,遍历所有key,之后再取value
for (String key : map.keySet()) {
map.get(key);
}
//缓存entrySet
Set<Map.Entry<String, String>> entrySet = map.entrySet();
for (Map.Entry<String, String> entry : entrySet) {
entry.getKey();
entry.getValue();
}
}
}
JAVA Map的四种遍历比较
最新推荐文章于 2024-08-20 14:35:58 发布